package org.yzh.protocol.t808.utils;

import org.yzh.protocol.commons.Bit;
import org.yzh.protocol.t808.T0002;

public class T0002MasterElecUtil {

    /**
     * 解析主电
     * @param t0002
     * @return
     */
    public static T0002 getMasterElectric(T0002 t0002) {
        int data = t0002.getMasterElec();

        // 电量信息在bit0-bit11，先与0b111111111111(即0xFFF)进行位与操作，然后右移12位
        int powerLevel = (data & 0xFFF) >> 0; // 这里实际上不需要右移，因为我们要取的就是低12位，直接位与即可
        t0002.setEv(powerLevel*0.1);
        // 解析充电状态，bit12表示充电状态，0:充电，1:未充电
        t0002.setEstate((data >> 12) & 1); // 如果这一位为0，则表示正在充电
        return t0002;
    }
}
